The present invention relates generally to video display systems, and more particularly, to a method used in conjunction with an Atari video computer system to more effectively display and control on a video display screen a larger number of high-resolution player graphics objects than before possible.
The Atari video computer system (VCS) is the subject of at least one U.S. Patent to Mayer, et al. (U.S. Pat. No. 4,112,422) and also of a number of technical articles which are discussed below. The VCS includes a MOS integrated circuit designed to interface between an 8-bit microprocessor and a television video display screen. The integrated circuit in the VCS is referred to as a television interface adapter (TIA). The VCS converts 8-bit parallel data into serial outputs for the color, luminosity and composite sync signals required by a video modulator. The VCS operates on a line by line basis, outputting the same information on every television line unless new data is written into it by the microprocessor. A hardware sync counter produces horizontal sync timing independent of the microprocessor. Vertical sync timing is supplied to the TIA by the microprocessor and is combined with the horizontal sync to form a composite sync signal.
Horizontal position counters in the TIA are used to trigger the serial output of registers holding five sets of data corresponding to horizontally movable high-resolution graphics originals which cause high-resolution graphics copies to be displayed on the video display screen. The five high-resolution graphics originals are comprised of two "players" (PO,PI), two "missiles" (MO,MI), and a "ball" (BL). In the context of this disclosure, an "original" refers only to the particular set of graphics data which is stored in graphics registers and causes copies corresponding thereto to be displayed on a video display screen; an "original" is not displayed on the video display screen, but merely determines the graphic form of the copies which are displayed. Each of the high-resolution copies is created and manipulated by a series of data registers in the TIA that the microprocessor can address and write into. The microprocessor can add to or subtract from the position counters to move the high-resolution graphics copies which are displayed on the display screen right or left along a given series of horizontal scan lines. The microprocessor determines all vertical position and motion by writing zeros for a blank line or other data for visible objects into the graphics registers in the TIA before each appropriate horizontal scan line.
Walls, clouds and other seldom moved objects which compose a playfield are produced by a low-resolution data register in the TIA called a playfield register. A 15-bit collision register in the TIA detects all fifteen possible two-object collisions between copies of the five high-resolution movable graphics originals and the low-resolution playfield. The collision register can be read and reset by the microprocessor. Six input ports are also provided in the TIA that can be read by the microprocessor. The input ports receive the updated status of various hand-held controllers. The input ports and the collision register are the only TIA addresses that can be read by the microprocessor. All other addresses are write-only. A more detailed discussion of the VCS and TIA is included below in the detailed description of the preferred embodiments of the present invention.
In the article Design Case History: The Atari Video Computer System (Perry and Wallich, IEEE Spectrum, March 1983), the reader is introduced not only to the basic design of the VCS, but also to a number of recent advanced programming techniques which have been developed to more effectively exploit the VCS. The article Video Games Enter Technology Time Warp (Brody, High Technology, June 1983) discusses a number of design and program limitations associated with the VCS. In particular, the VCS is limited as to how many high-resolution player graphics copies of an original can be made to appear in a controlled fashion along a given horizontal scan line of a video display screen. The VCS, as designed, is inherently capable of producing three copies which correspond to data for the two high-resolution player graphics originals (PO, P1) to display up to a total of six high-resolution player graphics copies along a given horizontal scan line. However, if both of the high-resolution player graphics originals are used to create a total of three or more high-resolution player graphic copies along a given series of horizontal scan lines of the video display screen, no further high-resolution player graphics objects can be created on the same scan lines by the VCS.
Given the relatively low cost and the large numbers of the VCS which are currently in the marketplace, the need existed to develop a method to more effectively exploit the VCS to display improved video graphics.